﻿Imports DNP.GestionComercial.BE
Imports DNP.DevNetPeru.Data
Imports System.Data.SqlClient
Public Class LineaProductoDAL
    Public Function ListarLineas(ByVal pCodigo As String) As RespuestaBE
        Dim LstEntidad As New List(Of LineaProductoBE)
        Dim obeRespuesta As New RespuestaBE
        Try

            Dim cmd As New SqlCommand("COM_SEL_COM_LINEA")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("p_codigo", SqlDbType.VarChar).Value = pCodigo

            Using dr As SqlDataReader = BaseDatos.GetDataReader(cmd)
                If dr.HasRows Then
                    ' Return ObtenerUbigeo(dr)
                    LstEntidad = Utils.CreaLista(Of LineaProductoBE)(LstEntidad, dr)
                    obeRespuesta.ValorRertono = LstEntidad
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta

                Else
                    obeRespuesta.ValorRertono = LstEntidad
                    obeRespuesta.Respuesta = True

                    Return obeRespuesta
                End If
            End Using


        Catch ex As Exception
            obeRespuesta.ValorRertono = LstEntidad
            obeRespuesta.Respuesta = False
            obeRespuesta.Mensaje = "msgErrorCargarInfoBD"

        End Try
        Return obeRespuesta
    End Function
    Public Function ListarSubLineas(ByVal pCodigo As Integer) As RespuestaBE
        Dim LstEntidad As New List(Of SubLineaProductoBE)
        Dim obeentidad As New SubLineaProductoBE
        Dim obeRespuesta As New RespuestaBE
        Dim dt As New DataTable
        Try

            Dim cmd As New SqlCommand("COM_SEL_COM_SUBLINEA")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Parameters.Add("p_codigo", SqlDbType.VarChar).Value = pCodigo

            Using dr As SqlDataReader = BaseDatos.GetDataReader(cmd)

                dt = New DataTable()
                dt.Load(dr)
                Dim i As Integer = 0
                While i < dt.Rows.Count

                    obeentidad = LLenarSubLinea(dt.Rows(i))

                    LstEntidad.Add(obeentidad)

                    i = i + 1
                End While
                obeRespuesta.ValorRertono = LstEntidad
                obeRespuesta.Respuesta = True
            End Using


        Catch ex As Exception
            obeRespuesta.ValorRertono = LstEntidad
            obeRespuesta.Respuesta = False
            obeRespuesta.Mensaje = "msgErrorCargarInfoBD"

        End Try
        Return obeRespuesta
    End Function
    Private Function LLenarSubLinea(ByVal pdtrSource As System.Data.DataRow) As SubLineaProductoBE
        Dim abeResultado As New SubLineaProductoBE


        With abeResultado
            If pdtrSource.Table.Columns.Contains("NSLN_CODIGO") Then If IsDBNull(pdtrSource("NSLN_CODIGO")) Then .NSLN_CODIGO = 0 Else .NSLN_CODIGO = pdtrSource("NSLN_CODIGO")
            If pdtrSource.Table.Columns.Contains("NLIN_CODIGO") Then If IsDBNull(pdtrSource("NLIN_CODIGO")) Then .NLIN_CODIGO = 0 Else .NLIN_CODIGO = pdtrSource("NLIN_CODIGO")
            If pdtrSource.Table.Columns.Contains("CSLN_DESCRIPCION") Then If IsDBNull(pdtrSource("CSLN_DESCRIPCION")) Then .CSLN_DESCRIPCION = String.Empty Else .CSLN_DESCRIPCION = pdtrSource("CSLN_DESCRIPCION")
            If pdtrSource.Table.Columns.Contains("CSLN_DES_CORTA") Then If IsDBNull(pdtrSource("CSLN_DES_CORTA")) Then .CSLN_DES_CORTA = String.Empty Else .CSLN_DES_CORTA = pdtrSource("CSLN_DES_CORTA")
            If pdtrSource.Table.Columns.Contains("CSLN_ESTADO") Then If IsDBNull(pdtrSource("CSLN_ESTADO")) Then .CSLN_ESTADO = String.Empty Else .CSLN_ESTADO = pdtrSource("CSLN_ESTADO")
            If pdtrSource.Table.Columns.Contains("DAUDI_FEC_INS") Then If IsDBNull(pdtrSource("DAUDI_FEC_INS")) Then .DAUDI_FEC_INS = Date.MinValue Else .DAUDI_FEC_INS = pdtrSource("DAUDI_FEC_INS")
            If pdtrSource.Table.Columns.Contains("CAUDI_USR_INS") Then If IsDBNull(pdtrSource("CAUDI_USR_INS")) Then .CAUDI_USR_INS = String.Empty Else .CAUDI_USR_INS = pdtrSource("CAUDI_USR_INS")
            If pdtrSource.Table.Columns.Contains("DAUDI_FEC_UPD") Then If IsDBNull(pdtrSource("DAUDI_FEC_UPD")) Then .DAUDI_FEC_UPD = Date.MinValue Else .DAUDI_FEC_UPD = pdtrSource("DAUDI_FEC_UPD")
            If pdtrSource.Table.Columns.Contains("CAUDI_USR_UPD") Then If IsDBNull(pdtrSource("CAUDI_USR_UPD")) Then .CAUDI_USR_UPD = String.Empty Else .CAUDI_USR_UPD = pdtrSource("CAUDI_USR_UPD")
            If pdtrSource.Table.Columns.Contains("CAUDI_EST_REG") Then If IsDBNull(pdtrSource("CAUDI_EST_REG")) Then .CAUDI_EST_REG = String.Empty Else .CAUDI_EST_REG = pdtrSource("CAUDI_EST_REG")

        End With
        Return abeResultado
    End Function
End Class
